package com.ly.heart.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ly.common.core.domain.AjaxResult;
import com.ly.heart.domain.KingReceiveNoticeEntity;
import com.ly.heart.domain.dto.KingReceiveNoticeQueryDto;
import com.ly.heart.domain.vo.select.query.KingReceiveNoticeSelectQueryDto;

/**
 * 金蝶-收料通知单Service接口
 *
 * @author cxl
 * @date 2024-08-09
 */
public interface IKingReceiveNoticeService extends IService<KingReceiveNoticeEntity> {

    /**
     * 分页查询收料通知单列表
     * @param queryDto
     * @return
     */
    AjaxResult getKingReceiveNoticePageList(KingReceiveNoticeQueryDto queryDto);

    /**
     * 暂存收料通知单
     * @param kingReceiveNotice
     * @return
     */
    AjaxResult draft(KingReceiveNoticeEntity kingReceiveNotice);

    /**
     * 提交收料通知单
     * @param kingReceiveNotice
     * @return
     */
    AjaxResult submit(KingReceiveNoticeEntity kingReceiveNotice);

    /**
     * 修改收料通知单
     * @param kingReceiveNotice
     * @return
     */
    AjaxResult update(KingReceiveNoticeEntity kingReceiveNotice);

    /**
     * 查询金蝶-收料通知单
     *
     * @param id 金蝶-收料通知单ID
     * @return 金蝶-收料通知单
     */
    public KingReceiveNoticeEntity selectKingReceiveNoticeEntityById(String id);

    /**
     * 查询金蝶-收料通知单列表
     *
     * @param kingReceiveNoticeEntity 金蝶-收料通知单
     * @return 金蝶-收料通知单集合
     */
    public List<KingReceiveNoticeEntity> selectKingReceiveNoticeEntityList(KingReceiveNoticeEntity kingReceiveNoticeEntity);

    /**
     * 批量删除金蝶-收料通知单
     *
     * @param ids 需要删除的金蝶-收料通知单ID
     * @return 结果
     */
    public int deleteKingReceiveNoticeEntityByIds(String[] ids);

    /**
     * 删除金蝶-收料通知单信息
     *
     * @param id 金蝶-收料通知单ID
     * @return 结果
     */
    public int deleteKingReceiveNoticeEntityById(String id);

    /**
     * 收料通知单选单dto
     * @param queryDto
     * @return
     */
    AjaxResult getKingReceiveNoticeSelect(KingReceiveNoticeSelectQueryDto queryDto);
}
